package com.coder.books.thinkinjava.enumerated.menu;

/**
 * 食物
 *
 * @author yuhushuan
 * @date 2020/9/6 11:40
 */
public interface Food {

    // 开胃菜
    enum Appetizer implements Food {
        SALAD, SOUP, SPRING_ROLLS;

        @Override
        public String toString() {
            switch (this) {
                case SALAD:
                    return "沙拉";
                case SOUP:
                    return "汤";
                case SPRING_ROLLS:
                    return "春卷";
            }
            return "开胃菜";
        }
    }

    // 主菜
    enum MainCourse implements Food {
        LASAGNA, BURRITO, PAD_THAI, LENTILS, HUMMUS, VINDALOO;

        @Override
        public String toString() {
            switch (this) {
                case LASAGNA:
                    return "烤宽面条";
                case BURRITO:
                    return "卷饼";
                case PAD_THAI:
                    return "泰式炒河粉";
                case LENTILS:
                    return "扁豆";
                case HUMMUS:
                    return "豆沙";
                case VINDALOO:
                    return "咖喱";
            }
            return "主菜";
        }
    }

    // 餐后甜点
    enum Dessert implements Food {
        TIRAMISU, GELATO, BLACK_FOREST_CAKE, FRUIT, CREME_CARAMEL;

        @Override
        public String toString() {
            switch (this) {
                case TIRAMISU:
                    return "提拉米苏";
                case GELATO:
                    return "冰淇淋";
                case BLACK_FOREST_CAKE:
                    return "黑森林蛋糕";
                case FRUIT:
                    return "水果";
                case CREME_CARAMEL:
                    return "焦糖布丁";
            }
            return "餐后甜点";
        }
    }

    enum Coffee implements Food {
        BLACK_COFFEE {
            @Override
            public String toString() {
                return "黑咖啡";
            }
        }, DECAF_COFFEE {
            @Override
            public String toString() {
                return "无咖啡因的咖啡";
            }
        }, ESPRESSO {
            @Override
            public String toString() {
                return "浓咖啡";
            }
        }, LATTE {
            @Override
            public String toString() {
                return "拿铁";
            }
        }, CAPPUCCINO {
            @Override
            public String toString() {
                return "卡布奇诺";
            }
        }, TEA {
            @Override
            public String toString() {
                return "茶";
            }
        }, HERB_TEA {
            @Override
            public String toString() {
                return "花茶";
            }
        };
    }
}
